gtk4.git
4 years agofnmatch: Support case-folding
Matthias Clasen [Fri, 4 Jun 2021 03:55:30 +0000 (23:55 -0400)]
fnmatch: Support case-folding

This will be used in GtkFileFilter in the future.

Update all callers.

4 years agoMerge branch 'fix-appwindow-allocate' into 'master'
Matthias Clasen [Fri, 4 Jun 2021 02:01:53 +0000 (02:01 +0000)]
Merge branch 'fix-appwindow-allocate' into 'master'

applicationwindow: Allocate tooltips

Closes #3997

See merge request GNOME/gtk!3627

4 years agoapplicationwindow: Allocate tooltips
Matthias Clasen [Fri, 4 Jun 2021 01:43:13 +0000 (21:43 -0400)]
applicationwindow: Allocate tooltips

GtkApplicationWindows size_allocate does not chain
up if the menubar is visible; don't forget to allocate
the tooltip window in that case.

Fixes: #3997
4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Thu, 3 Jun 2021 21:59:26 +0000 (21:59 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Cosmetics: Eradicate gdouble

See merge request GNOME/gtk!3626

4 years agoCosmetics: Eradicate gint
Matthias Clasen [Thu, 3 Jun 2021 21:40:49 +0000 (17:40 -0400)]
Cosmetics: Eradicate gint

Remove a handful of errant uses of gint.

4 years agoCosmetics: Eradicate gdouble
Matthias Clasen [Thu, 3 Jun 2021 18:38:17 +0000 (14:38 -0400)]
Cosmetics: Eradicate gdouble

Remove 3 errant uses of gdouble.

4 years agoMerge branch 'primary-menu-button' into 'master'
Matthias Clasen [Thu, 3 Jun 2021 19:37:23 +0000 (19:37 +0000)]
Merge branch 'primary-menu-button' into 'master'

menubutton: Enable F10 for primary menus

See merge request GNOME/gtk!3580

4 years agoMerge branch 'wip/carlosg/no-early-popup-ungrabs' into 'master'
Matthias Clasen [Thu, 3 Jun 2021 18:10:06 +0000 (18:10 +0000)]
Merge branch 'wip/carlosg/no-early-popup-ungrabs' into 'master'

gdk/wayland: Break only implicit grabs on wl_pointer.leave w/ pressed buttons

See merge request GNOME/gtk!3625

4 years agoMerge branch 'akamfoad/readme-link-fixes' into 'master'
Emmanuele Bassi [Thu, 3 Jun 2021 15:23:45 +0000 (15:23 +0000)]
Merge branch 'akamfoad/readme-link-fixes' into 'master'

Update broken links in README.md

Closes #4001

See merge request GNOME/gtk!3623

4 years agogdk/wayland: Break only implicit grabs on wl_pointer.leave w/ pressed buttons
Carlos Garnacho [Thu, 3 Jun 2021 14:18:28 +0000 (16:18 +0200)]
gdk/wayland: Break only implicit grabs on wl_pointer.leave w/ pressed buttons

The releasing of grabs while a button is pressed (e.g. after starting dnd, or
dragging the window, or going to overview with a pressed button, etc...) was
generalized here in https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1879.

However we shouldn't break all grabs here. In the case of grabbing popups,
compositors will still emit crossing events between client surfaces (e.g.
popping up and selecting a menu item via press-drag-release), breaking all
grabs here means inconsistent client state, that was
https://gitlab.gnome.org/GNOME/gtk/-/issues/2746.

That was fixed in mutter, by essentially making implicit grabs
owner_events=FALSE, however that breaks the mentioned use pattern entirely.
Mutter is changing this behavior back, so GTK should handle these crossing
events.

The grab that we are interested in breaking here is the implicit pointer
one. Popups will be dismissed via other means if the compositor says their
active grab needs breaking. This still leaves dnd/move/resize drags in
one place, while not allowing #2746 to happen with popups.

4 years agoChanging old Gtk4 link to the new one hosted in gtk docs
Akam Foad [Thu, 3 Jun 2021 14:22:06 +0000 (14:22 +0000)]
Changing old Gtk4 link to the new one hosted in gtk docs

4 years agoUpdate broken links in README.md
Akam Foad [Thu, 3 Jun 2021 14:02:59 +0000 (14:02 +0000)]
Update broken links in README.md

Updated Release notes links from https://developer.gnome.org/gtkX/unstable/YYYY.html
to https://developer.gnome.org/gtkX/stable/YYYY.html in the README.md file in the root
folder.

Closes #4001

4 years agoMerge branch 'ebassi/doc-fixes' into 'master'
Emmanuele Bassi [Thu, 3 Jun 2021 10:32:01 +0000 (10:32 +0000)]
Merge branch 'ebassi/doc-fixes' into 'master'

Small doc fixes

See merge request GNOME/gtk!3622

4 years agodocs: Fix link to the interactive debugging section
Emmanuele Bassi [Thu, 3 Jun 2021 08:31:13 +0000 (09:31 +0100)]
docs: Fix link to the interactive debugging section

It's in the "running" document.

4 years agodocs: Fix the license field
Emmanuele Bassi [Thu, 3 Jun 2021 08:11:09 +0000 (09:11 +0100)]
docs: Fix the license field

It's LGPL-2.1-or-later, not GPL.

4 years agoMerge branch 'wip/chergert/fix-use-after-free-switcher' into 'master'
Matthias Clasen [Wed, 2 Jun 2021 20:21:57 +0000 (20:21 +0000)]
Merge branch 'wip/chergert/fix-use-after-free-switcher' into 'master'

stackswitcher: clear timer when widget id disposed

See merge request GNOME/gtk!3621

4 years agoMerge branch 'macos-menubar' into 'master'
Matthias Clasen [Wed, 2 Jun 2021 20:13:16 +0000 (20:13 +0000)]
Merge branch 'macos-menubar' into 'master'

macos: fix weird menubar rendering.

Closes #3967

See merge request GNOME/gtk!3607

4 years agostackswitcher: clear timer when widget id disposed
Christian Hergert [Wed, 2 Jun 2021 17:19:42 +0000 (10:19 -0700)]
stackswitcher: clear timer when widget id disposed

If the widget is disposed while the cursor has a drag timeout queued, it
can activate after finalization.

4 years agoMerge branch 'wip/otte/for-master' into 'master'
Matthias Clasen [Wed, 2 Jun 2021 14:57:52 +0000 (14:57 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

x11: Be more careful with NVIDIA workaround

See merge request GNOME/gtk!3620

4 years agoMerge branch 'entry-docs-typo' into 'master'
Matthias Clasen [Wed, 2 Jun 2021 11:15:10 +0000 (11:15 +0000)]
Merge branch 'entry-docs-typo' into 'master'

entry: Fix a typo in the docs

See merge request GNOME/gtk!3619

4 years agoentry: Fix a typo in the docs
Matthias Clasen [Wed, 2 Jun 2021 10:47:27 +0000 (06:47 -0400)]
entry: Fix a typo in the docs

4 years agoMerge branch 'wip/exalm/treeview-click' into 'master'
Matthias Clasen [Wed, 2 Jun 2021 10:33:50 +0000 (10:33 +0000)]
Merge branch 'wip/exalm/treeview-click' into 'master'

treeview: Don't handle clicks on any child widgets

Closes #3996

See merge request GNOME/gtk!3618

4 years agoMerge branch 'box-orientation' into 'master'
Matthias Clasen [Wed, 2 Jun 2021 10:16:17 +0000 (10:16 +0000)]
Merge branch 'box-orientation' into 'master'

progressbar: Avoid redundant storage

See merge request GNOME/gtk!3617

4 years agotreeview: Don't handle clicks on any child widgets
Alexander Mikhaylenko [Wed, 2 Jun 2021 08:45:11 +0000 (13:45 +0500)]
treeview: Don't handle clicks on any child widgets

We already skip them on the edited cell widget, but it's also a problem for
header buttons. Overall, there's no real reason to let it propagate here.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3996

4 years agospinbutton: Avoid redundant storage
Matthias Clasen [Tue, 1 Jun 2021 19:35:15 +0000 (15:35 -0400)]
spinbutton: Avoid redundant storage

GtkBoxLayout stores the orientation; no need for
GtkSpinButton to duplicate that.

4 years agoprogressbar: Avoid redundant storage
Matthias Clasen [Tue, 1 Jun 2021 12:17:10 +0000 (08:17 -0400)]
progressbar: Avoid redundant storage

GtkBoxLayout stores the orientation; no need for
GtkProgressBar to duplicate that.

4 years agoMerge branch 'demo-appdata' into 'master'
Matthias Clasen [Tue, 1 Jun 2021 20:17:16 +0000 (20:17 +0000)]
Merge branch 'demo-appdata' into 'master'

demos: Generate appdata

Closes #3993

See merge request GNOME/gtk!3613

4 years agodemos: Generate appdata
Matthias Clasen [Tue, 1 Jun 2021 12:16:27 +0000 (08:16 -0400)]
demos: Generate appdata

We don't maintain a release history here, but at least
we can put in the right version and date for the current
build.

Fixes: #3993
4 years agoMerge branch 'wip/chergert/switcher-orientable' into 'master'
Matthias Clasen [Tue, 1 Jun 2021 18:28:23 +0000 (18:28 +0000)]
Merge branch 'wip/chergert/switcher-orientable' into 'master'

stackswitcher: implement GtkOrientable

Closes #3988

See merge request GNOME/gtk!3606

4 years agostackswitcher: implement GtkOrientable
Christian Hergert [Fri, 28 May 2021 18:50:25 +0000 (11:50 -0700)]
stackswitcher: implement GtkOrientable

In GTK 3, GtkStackSwitcher implemented GtkOrientable via the parent GtkBox
type. In GTK 4, that was changed to inherit from GtkWidget and lost this
interface implementation.

This adds that back, along with a note in the documentation that the
interface was added in GTK 4.4.

Fixes #3988

4 years agoMerge branch 'fix_cast_warning_adding_notebook_page' into 'master'
Matthias Clasen [Tue, 1 Jun 2021 16:18:31 +0000 (16:18 +0000)]
Merge branch 'fix_cast_warning_adding_notebook_page' into 'master'

invalid cast from 'GtkButton' to 'GtkBox'

See merge request GNOME/gtk!3615

4 years agoinvalid cast from 'GtkButton' to 'GtkBox'
Caolán McNamara [Tue, 1 Jun 2021 13:41:13 +0000 (14:41 +0100)]
invalid cast from 'GtkButton' to 'GtkBox'

on adding a page to a GtkNotebook

(soffice): Gtk-CRITICAL **: gtk_box_remove: assertion 'GTK_IS_BOX (box)' failed

4 years agoMerge branch 'screensaver-async-4' into 'master'
Matthias Clasen [Tue, 1 Jun 2021 11:14:38 +0000 (11:14 +0000)]
Merge branch 'screensaver-async-4' into 'master'

gtkapplication-dbus: Fetch inital screen saver state async

See merge request GNOME/gtk!3599

4 years agoMerge branch 'fix-has-actionable-function' into 'master'
Matthias Clasen [Tue, 1 Jun 2021 11:04:56 +0000 (11:04 +0000)]
Merge branch 'fix-has-actionable-function' into 'master'

texthistory: fix has_actionable function

See merge request GNOME/gtk!3612

4 years agotexthistory: fix has_actionable function
liferooter [Tue, 1 Jun 2021 11:04:55 +0000 (11:04 +0000)]
texthistory: fix has_actionable function

4 years agoMerge branch 'box-orientation' into 'master'
Matthias Clasen [Mon, 31 May 2021 23:05:11 +0000 (23:05 +0000)]
Merge branch 'box-orientation' into 'master'

box: Avoid redundant storage

See merge request GNOME/gtk!3611

4 years agobox: Avoid redundant storage
Matthias Clasen [Mon, 31 May 2021 22:38:52 +0000 (18:38 -0400)]
box: Avoid redundant storage

GtkBoxLayout stores the orientation; no need for
GtkBox to duplicate that.

4 years agomacos: fix weird menubar rendering.
Zhi [Sun, 30 May 2021 00:02:18 +0000 (08:02 +0800)]
macos: fix weird menubar rendering.

As app menu has been deprecated, the function of app menu should be
merged into the menubar, which behaves like the original API of NSApp.

This also brings back the default app menu, which looks like native
macOS apps.

For future refactoring, please note that the menubar must contain at
least one menu before being set to NSApp to avoid weird menubar
rendering.

Fixes #3967.

4 years agoUpdate Friulian translation
Fabio Tomat [Thu, 27 May 2021 16:13:04 +0000 (16:13 +0000)]
Update Friulian translation

(cherry picked from commit a80804ccefc8a508611ddd76ba13908fc43c2dbd)

4 years agoMerge branch 'placeholder-alignment' into 'master'
Matthias Clasen [Thu, 27 May 2021 11:44:33 +0000 (11:44 +0000)]
Merge branch 'placeholder-alignment' into 'master'

text: Propagate xalign to the placeholder

Closes #3979

See merge request GNOME/gtk!3604

4 years agotext: Propagate xalign to the placeholder
Matthias Clasen [Thu, 27 May 2021 10:57:23 +0000 (06:57 -0400)]
text: Propagate xalign to the placeholder

This is what we were doing in GTK 3, and there's
no reason not to continue.

Fixes: #3979
4 years agoMerge branch 'bilelmoussaoui/for-gi-docgen-grid' into 'master'
Matthias Clasen [Thu, 27 May 2021 10:31:24 +0000 (10:31 +0000)]
Merge branch 'bilelmoussaoui/for-gi-docgen-grid' into 'master'

docs: fix gtk grid formatting

See merge request GNOME/gtk!3603

4 years agodocs: fix gtk grid formatting
Bilal Elmoussaoui [Thu, 27 May 2021 09:58:42 +0000 (09:58 +0000)]
docs: fix gtk grid formatting

4 years agoMerge branch 'bilelmoussaoui/for-gi-docgen' into 'master'
Emmanuele Bassi [Thu, 27 May 2021 00:43:31 +0000 (00:43 +0000)]
Merge branch 'bilelmoussaoui/for-gi-docgen' into 'master'

docs: fix broken links

See merge request GNOME/gtk!3601

4 years agodocs: fix broken links
Bilal Elmoussaoui [Thu, 27 May 2021 00:18:23 +0000 (00:18 +0000)]
docs: fix broken links

4 years agoMerge branch 'test-text-buffer-undo' into 'master'
Matthias Clasen [Wed, 26 May 2021 19:33:58 +0000 (19:33 +0000)]
Merge branch 'test-text-buffer-undo' into 'master'

Add a test for text buffer history

See merge request GNOME/gtk!3596

4 years agotextbuffer: Add some docs for undo
Matthias Clasen [Wed, 26 May 2021 18:20:39 +0000 (14:20 -0400)]
textbuffer: Add some docs for undo

Mention what is undoable and what isn't.

4 years agotextbuffer: Improve the docs
Matthias Clasen [Wed, 26 May 2021 18:14:48 +0000 (14:14 -0400)]
textbuffer: Improve the docs

Add getter/setter annotations.

4 years agoAdd tests for text buffer history
Matthias Clasen [Wed, 26 May 2021 10:07:46 +0000 (06:07 -0400)]
Add tests for text buffer history

Check that things can be undone.

4 years agoMerge branch 'wip/chergert/fix-3977' into 'master'
Matthias Clasen [Wed, 26 May 2021 17:43:34 +0000 (17:43 +0000)]
Merge branch 'wip/chergert/fix-3977' into 'master'

textbuffer: ensure user actions are propagated to history

Closes #3977

See merge request GNOME/gtk!3600

4 years agotextbuffer: ensure user actions are propagated to history
Christian Hergert [Wed, 26 May 2021 17:11:33 +0000 (10:11 -0700)]
textbuffer: ensure user actions are propagated to history

This was an oversight when porting the GtkTextHistory into GTK. We simply
need to bind the GtkTextBuffer action into the text history for grouping
to work correctly.

Fixes #3977

4 years agogtkapplication-dbus: Fetch inital screen saver state async
Guido Günther [Wed, 26 May 2021 15:08:03 +0000 (17:08 +0200)]
gtkapplication-dbus: Fetch inital screen saver state async

Avoid a sync call that can make the application block for no good
reason.

Fixes 6bfe17105828b0b2eb0f4a362d3039d9416e3519

4 years agoMerge branch 'move-text-history-tests' into 'master'
Matthias Clasen [Wed, 26 May 2021 12:01:58 +0000 (12:01 +0000)]
Merge branch 'move-text-history-tests' into 'master'

Move text history tests

See merge request GNOME/gtk!3597

4 years agoMerge branch 'picture-nullable-setters' into 'master'
Matthias Clasen [Wed, 26 May 2021 11:46:23 +0000 (11:46 +0000)]
Merge branch 'picture-nullable-setters' into 'master'

picture: Make setters actually take NULL

Closes #3974

See merge request GNOME/gtk!3598

4 years agoMove text history tests
Matthias Clasen [Wed, 26 May 2021 11:11:47 +0000 (07:11 -0400)]
Move text history tests

We can test internal apis in our testsuite now,
so move the text history tests there, to have them
run in ci.

4 years agopicture: Make setters actually take NULL
Matthias Clasen [Wed, 26 May 2021 11:30:09 +0000 (07:30 -0400)]
picture: Make setters actually take NULL

gtk_picture_set_file was claiming to be nullable,
but choked on NULL.

Fixes: #3974
4 years agoMerge branch 'bilelmoussaoui/for-gi-docgen-link' into 'master'
Matthias Clasen [Tue, 25 May 2021 23:23:39 +0000 (23:23 +0000)]
Merge branch 'bilelmoussaoui/for-gi-docgen-link' into 'master'

gtk: drop unwanted char on Switch::state-set docs link

See merge request GNOME/gtk!3594

4 years agogtk: drop unwanted char on Switch::state-set docs link
Bilal Elmoussaoui [Tue, 25 May 2021 20:29:46 +0000 (20:29 +0000)]
gtk: drop unwanted char on Switch::state-set docs link

4 years agoMerge branch 'wip/exalm/checks' into 'master'
Matthias Clasen [Tue, 25 May 2021 20:29:06 +0000 (20:29 +0000)]
Merge branch 'wip/exalm/checks' into 'master'

checkbutton: Sync the indicator state with the widget

See merge request GNOME/gtk!3568

4 years agoMerge branch 'fix.vs2013.link' into 'master'
Matthias Clasen [Tue, 25 May 2021 20:27:54 +0000 (20:27 +0000)]
Merge branch 'fix.vs2013.link' into 'master'

gtk/meson.build: Fix linking on Visual Studio 2013

See merge request GNOME/gtk!3575

4 years agoMerge branch 'ebassi/introspection-error' into 'master'
Emmanuele Bassi [Tue, 25 May 2021 18:51:54 +0000 (18:51 +0000)]
Merge branch 'ebassi/introspection-error' into 'master'

Turn introspection scanner warnings into errors

See merge request GNOME/gtk!3588

4 years agoTurn introspection scanner warnings into errors
Emmanuele Bassi [Tue, 25 May 2021 12:54:30 +0000 (13:54 +0100)]
Turn introspection scanner warnings into errors

We want to catch errors in our annotations or our API.

4 years agodocs: Add missing documentation on Windows
Emmanuele Bassi [Tue, 25 May 2021 18:13:46 +0000 (19:13 +0100)]
docs: Add missing documentation on Windows

The gtk_print_run_page_setup_dialog() function, and its asynchronous
variant, are declared in the common gtkprintoperation.h header, but
implemented in different source files depending on the platform.

4 years agoMerge branch 'ignore-nosymbol-press' into 'master'
Matthias Clasen [Tue, 25 May 2021 17:44:45 +0000 (17:44 +0000)]
Merge branch 'ignore-nosymbol-press' into 'master'

imcontext: Ignore NoSymbol key events

Closes #3973

See merge request GNOME/gtk!3591

4 years agoimcontext: Ignore NoSymbol key events
Matthias Clasen [Tue, 25 May 2021 17:17:41 +0000 (13:17 -0400)]
imcontext: Ignore NoSymbol key events

These can happen with some XKB options.

Fixes: #3973
4 years agoMerge branch 'bilelmoussaoui/for-gi-docgen' into 'master'
Emmanuele Bassi [Tue, 25 May 2021 16:23:15 +0000 (16:23 +0000)]
Merge branch 'bilelmoussaoui/for-gi-docgen' into 'master'

gdk: fix wrong doc annotation

See merge request GNOME/gtk!3590

4 years agogdk: fix wrong doc annotation
Bilal Elmoussaoui [Tue, 25 May 2021 16:07:51 +0000 (16:07 +0000)]
gdk: fix wrong doc annotation

4 years agoUpdate Ukrainian translation
Yuri Chornoivan [Tue, 25 May 2021 13:19:55 +0000 (13:19 +0000)]
Update Ukrainian translation

4 years agoMerge branch 'ebassi/docs-fixes' into 'master'
Emmanuele Bassi [Tue, 25 May 2021 12:57:28 +0000 (12:57 +0000)]
Merge branch 'ebassi/docs-fixes' into 'master'

Enable fatal warnings for gi-docgen

See merge request GNOME/gtk!3587

4 years agoEnable fatal warnings when build the docs
Emmanuele Bassi [Tue, 25 May 2021 12:32:32 +0000 (13:32 +0100)]
Enable fatal warnings when build the docs

We want to fail the CI pipeline when the documentation generator emits a
warning.

4 years agodocs: Fix the PANGO_SCALE link
Emmanuele Bassi [Tue, 25 May 2021 12:31:49 +0000 (13:31 +0100)]
docs: Fix the PANGO_SCALE link

The fragment for constants is `const`.

4 years agoMerge branch 'fix-im-reset' into 'master'
Matthias Clasen [Tue, 25 May 2021 12:09:38 +0000 (12:09 +0000)]
Merge branch 'fix-im-reset' into 'master'

imcontextsimple: Fix a possible problem

See merge request GNOME/gtk!3584

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Tue, 25 May 2021 11:57:48 +0000 (11:57 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

doc: Syntax fixes

See merge request GNOME/gtk!3583

4 years agodoc: Syntax fixes
Matthias Clasen [Tue, 25 May 2021 11:33:55 +0000 (07:33 -0400)]
doc: Syntax fixes

No, we can't have links that say [constructor@...] or
[mehtod@...] or [methoc@...] or [methos@...] or [metohd@...].
And no, not [signals@...] either.

4 years agoMerge branch 'bilelmoussaoui/gi-docgen-link-fix' into 'master'
Emmanuele Bassi [Tue, 25 May 2021 11:26:08 +0000 (11:26 +0000)]
Merge branch 'bilelmoussaoui/gi-docgen-link-fix' into 'master'

gtk: fix gi-docgen link type

See merge request GNOME/gtk!3582

4 years agogtk: fix gi-docgen link type
Bilal Elmoussaoui [Tue, 25 May 2021 09:25:32 +0000 (09:25 +0000)]
gtk: fix gi-docgen link type

constructors are supposed to use "ctor" as a link type, not new

4 years agoMerge branch 'quartz-elide-underscores' into 'master'
Matthias Clasen [Mon, 24 May 2021 22:55:10 +0000 (22:55 +0000)]
Merge branch 'quartz-elide-underscores' into 'master'

Bring back elide_underscores

See merge request GNOME/gtk!3581

4 years agoimcontextsimple: Fix a possible problem
Matthias Clasen [Mon, 24 May 2021 22:52:14 +0000 (18:52 -0400)]
imcontextsimple: Fix a possible problem

We were forgetting to handle the compose sequence
case in reset().

4 years agoquartz: Elide underscores again
Matthias Clasen [Mon, 24 May 2021 21:37:55 +0000 (17:37 -0400)]
quartz: Elide underscores again

We don't want a literal _File to show up in the
global menubar on OS X, so use the revivied
_gtk_elide_underscores.

Related: #3967

4 years agoBring back elide_underscores
Matthias Clasen [Mon, 24 May 2021 21:37:05 +0000 (17:37 -0400)]
Bring back elide_underscores

This used to live in gtktoolbar.c, which is gone.
We still need it, so put it in gtkprivate.c.

4 years agomenubutton: Enable F10 for primary menus
Matthias Clasen [Mon, 24 May 2021 21:27:40 +0000 (17:27 -0400)]
menubutton: Enable F10 for primary menus

Add a ::primary property to GtkMenuButton, which can
be set to make the menu activatable with F10, like
menubars.

4 years agoMerge branch 'gallery-reflow-fix' into 'master'
Emmanuele Bassi [Mon, 24 May 2021 15:44:26 +0000 (15:44 +0000)]
Merge branch 'gallery-reflow-fix' into 'master'

docs: Convince the widget gallery to reflow

See merge request GNOME/gtk!3579

4 years agodocs: Convince the widget gallery to reflow
Matthias Clasen [Mon, 24 May 2021 14:51:02 +0000 (10:51 -0400)]
docs: Convince the widget gallery to reflow

4 years agoMerge branch 'gst.gl.win32' into 'master'
Matthias Clasen [Mon, 24 May 2021 11:37:06 +0000 (11:37 +0000)]
Merge branch 'gst.gl.win32' into 'master'

media/gstreamer: Support using GL for video for Windows

See merge request GNOME/gtk!3506

4 years agomedia-gstreamer: Provide fallback mode for playback
Chun-wei Fan [Mon, 24 May 2021 08:24:39 +0000 (16:24 +0800)]
media-gstreamer: Provide fallback mode for playback

Make the "gl-context" property of the GstGLSink readable as well so that
we can query whether the GstGLContext sharing really succeeded.  If it
did, then we proceed to playback our video using the glimagesink as we
did before.  If it didn't, throw out the GtkGstSink we were creating, and
re-create the GtkGstSink without the "gl-context" property, meaning that
we won't be using the glimagesink in this case.

4 years agogtkgstsink.c: Support EGL on Windows as well
Chun-wei Fan [Mon, 17 May 2021 08:04:53 +0000 (16:04 +0800)]
gtkgstsink.c: Support EGL on Windows as well

Add support to look for and use the EGL context in Windows if it was activated
instead of desktop OpenGL.

GstGL may have been built with or without EGL/libANGLE support, so if it were,
check in GstGL whether we have gst_gl_display_new_with_type() to create a
GstGLDisplay that is of the GST_GL_WINDOW_WIN32 type when we are using
Desktop OpenGL (WGL), otherwise we show messages indicating that envvars
need to be set to initialize GstGL properly.

Due to a bug in GstGL, the GstGLContext can only be set up successfully
if one of the following is true:

*  An OpenGL 3.x or later emulator, such as Mesa is used (for WGL)
*  The latest GstGL master is being used, at the time of writing (for
   WGL)
*  GTK, libepoxy and GstGL are all built only with WGL support (for WGL)
*  EGL is being used in GTK at runtime

Special thanks to Matthew Waters for the help during the process.

4 years agomedia/gstreamer: Support using GL for video for Windows
Chun-wei Fan [Sat, 13 Feb 2021 10:40:56 +0000 (18:40 +0800)]
media/gstreamer: Support using GL for video for Windows

Add support to share the WGL context in GDK with the WGL context in GStreamer,
so that we can also use OpenGL in the gstreamer media backend to playback
videos.  For now OpenGL/ES is not supported for this under Windows.

The process of setting this up in Windows is a little bit more involved, as:

*  The OpenGL support in GstGL requires a GL 4.1 Core context, but we may just
   get the GL version from wglCreateContextAttribsARB() that we pass into the
   attributes, which is 3.2 by default.  So, try to ask for a 4.1 Core context
   first if we are asking for anything less.

*  There is only one GstDisplay available for Windows, so we just use
   gst_gl_display_new().

*  We must explicitly tell libepoxy that we are using wglMakeCurrent() outside
   of libepoxy that is being used in GdkGL, otherwise we would end up crashing
   as the GL/WGL function pointers would become invalid.

*  We must also deactivate temporarily the underlying WGL context that was made
   current by gdk_gl_context_make_current() so that when
   gst_gl_display_create_context() calls wglShareLists(), we won't get bitten
   by error 0xaa (resource busy), as some drivers don't handle this well when
   the GL context is current in another thread.

For the last two points we make use of macros defined by the platforms that the
build is done for to help us carry out the necessary tasks as needed.

Thanks to Matthew Waters for the info on integrating GstGL and windowing
toolkits on Windows.

4 years agogtk/meson.build: Fix linking on Visual Studio 2013
Chun-wei Fan [Sat, 22 May 2021 14:11:05 +0000 (22:11 +0800)]
gtk/meson.build: Fix linking on Visual Studio 2013

Visual Studio 2013's linker does not suport `/WHOLEARCHIVE:`, so just
explicitly extract the objects from the static libraries that will
form the final GTK DLL.

4 years agoMerge branch 'focusable-fixes' into 'master'
Matthias Clasen [Sun, 23 May 2021 15:53:27 +0000 (15:53 +0000)]
Merge branch 'focusable-fixes' into 'master'

label: Fix mnemonic activation

Closes #3965

See merge request GNOME/gtk!3578

4 years agotreeviewcolumn: Use focusable when we mean it
Matthias Clasen [Sun, 23 May 2021 14:37:14 +0000 (10:37 -0400)]
treeviewcolumn: Use focusable when we mean it

The focusable property has taken over the role that
can-focus had in GTK 3.

4 years agotreeexpander: Use focusable where we mean it
Matthias Clasen [Sun, 23 May 2021 14:33:40 +0000 (10:33 -0400)]
treeexpander: Use focusable where we mean it

This does not fix keyboard activation for tree expanders,
but it is more correct than using can-focus.

4 years agotogglebutton: Fix mnemonic activation
Matthias Clasen [Sun, 23 May 2021 14:26:21 +0000 (10:26 -0400)]
togglebutton: Fix mnemonic activation

We want to grab the focus when we're focusable, so
look at the focusable property.

4 years agofloxbox: Fix focus navigation
Matthias Clasen [Sun, 23 May 2021 14:25:11 +0000 (10:25 -0400)]
floxbox: Fix focus navigation

We want to find focusable children, so we need to look at
the focusable property, not at can-focus. This is a change
from GTK 3, where can-focus was the correct property to
look at.

4 years agolabel: Fix mnemonic activation
Matthias Clasen [Sun, 23 May 2021 14:23:08 +0000 (10:23 -0400)]
label: Fix mnemonic activation

The intention of the code is to find a focusable ancestor,
so it needs to look at the focusable property, not at
can-focus. This is a change from GTK 3, where can-focus
was the correct property to look at.

Fixes: #3965
4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Sun, 23 May 2021 02:14:01 +0000 (02:14 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

demos: Clean up doc comments

See merge request GNOME/gtk!3574

4 years agodocs: More syntax fixes
Matthias Clasen [Sun, 23 May 2021 01:21:10 +0000 (21:21 -0400)]
docs: More syntax fixes

The syntax for interface links is [iface@...], not
[interface@...].

4 years agodocs: More syntax fixes
Matthias Clasen [Sun, 23 May 2021 01:20:10 +0000 (21:20 -0400)]
docs: More syntax fixes

[`func@Foo`] is not the right link syntax either.

4 years agodocs: Fix up syntax
Matthias Clasen [Sun, 23 May 2021 00:41:05 +0000 (20:41 -0400)]
docs: Fix up syntax

There's no [type_func@...[ syntax, it is all [func@...].

4 years agodocs: Sync up debug flag information
Matthias Clasen [Sun, 23 May 2021 00:41:48 +0000 (20:41 -0400)]
docs: Sync up debug flag information

4 years agotreemodel: Cosmetic docs changes
Matthias Clasen [Sun, 23 May 2021 00:44:03 +0000 (20:44 -0400)]
treemodel: Cosmetic docs changes